From 5e8fbf7789613511061d78a42ca7f91bc831f786 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 15 Mar 2022 21:21:20 +0200 Subject: [PATCH] Clean up implementation of N0 per UAX#9 * src/bidi.c (bidi_resolve_brackets): Instead of requiring prev_for_neutral's type to be known, fall back on SOS, per the UBA. --- src/bidi.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bidi.c b/src/bidi.c index 44b7422bdc6..4d2c74b17cd 100644 --- a/src/bidi.c +++ b/src/bidi.c @@ -2927,8 +2927,11 @@ bidi_resolve_brackets (struct bidi_it *bidi_it) else if (bidi_it->bracket_enclosed_type == STRONG_L /* N0c, N0d */ || bidi_it->bracket_enclosed_type == STRONG_R) { - eassert (bidi_it->prev_for_neutral.type != UNKNOWN_BT); - switch (bidi_it->prev_for_neutral.type) + bidi_type_t prev_type_for_neutral = bidi_it->prev_for_neutral.type; + + if (prev_type_for_neutral == UNKNOWN_BT) + prev_type_for_neutral = embedding_type; + switch (prev_type_for_neutral) { case STRONG_R: case WEAK_EN: -- 2.30.2